#ifndef __CARIOU_LINARD_VECTOR3D_HH__
#define __CARIOU_LINARD_VECTOR3D_HH__

#include "object3d.h"
#include <math.h>

class Vector3D : public Object3D
{
    public:

        Vector3D();
        Vector3D(const Vector3D &);
        Vector3D(const double &, const double &, const double &);

        virtual double operator*(const Vector3D &) const;
        virtual Vector3D operator*(const double &) const;

        virtual Vector3D operator+(const Vector3D &) const;
        virtual Vector3D operator-(const Vector3D &) const;

        virtual void normalize();
        virtual double norm()  const;
        virtual double norm2() const;

        virtual void incX();
        virtual void incY();
        virtual void incZ();
};

#endif
